import request from '@/utils/request'

/**
 * 登录API
 * @param {String} mobile  手机号
 * @param {String} code   验证码
 * @returns   Promise
 */
export const login = (data) =>
  request({
    url: '/v1_0/authorizations',
    method: 'POST',
    data
  })

/**
 * 发送验证码
 * @param {String} mobile
 * @returns
 */
export const getCodeAPI = (mobile) =>
  request({
    url: `/v1_0/sms/codes/${mobile}`
  })

/**
 * 获取用户个人信息
 * @returns Promise
 */
export const getUserInfoAPI = () =>
  request({
    url: '/v1_0/user/profile'
  })

export const editUserPhotoAPI = () =>
  request({
    url: '/v1_0/user/photo'
  })

/**
 * // 如果传的是对象, axios默认将对象转成json并且加上content-type=application/json
// 如果传的是formDate表单, 那么axios会将表单提交给后端, 并且默认的加上content-type=mutipart/form-data
// 如果后端要的是表单(form-data)
// const fm = new FormData()
// fm.append(表单的name,表单项)
 * 上传头像
 * 上传form表单类型
 * @param {*} file 图片的文件对象
 * @returns Promise
 */
export const uploadAvatorAPI = (file) => {
  const fm = new FormData()

  fm.append('photo', file)

  return request({
    url: '/v1_0/user/photo',
    method: 'PATCH',
    data: fm
  })
}
/**
 * 编辑用户个人资料
 * @param {Object} data
 * @returns Promise
 */
export const editUserInfoAPI = (data) =>
  request({
    url: '/v1_0/user/profile',
    method: 'PATCH',
    data
  })

/**
 * 获取用户自己信息
 */
export const getUserAPI = () =>
  request({
    url: '/v1_0/user'
  })
